package site.wanjiahao.message.request;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import site.wanjiahao.message.Message;

/**
 * Rpc远程调用的方法信息
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RpcRequestMessage extends Message {

    /**
     * 接口名称
     */
    private Class<?> interfaceClazz;

    /**
     * 方法名称
     */
    private String methodName;

    /**
     * 返回值类型
     */
    private Class<?> returnValue;

    /**
     * 方法参数类型
     */
    private Class<?>[] paramsTypes;

    /**
     * 方法参数
     */
    private Object[] parameterValue;


    @Override
    public int getMessageType() {
        return RPC_REQUEST_ID;
    }
}
